Python numpy 矩阵乘法multiply()、dot()、 matmul()、' * '、'@'辨析

您所在的位置:网站首页 张量 numpy Python numpy 矩阵乘法multiply()、dot()、 matmul()、' * '、'@'辨析

Python numpy 矩阵乘法multiply()、dot()、 matmul()、' * '、'@'辨析

2023-09-20 13:50| 来源: 网络整理| 查看: 265

分类:

元素相乘:multply() 矩阵相乘:dot()、matmul()、’@’ ’ * ': 是特别的。在数组操作中,作为元素相乘;在矩阵操作中作为矩阵相乘。

以下举例说明:

import numpy as np 在数组上操作的效果: >>> a1 = np.array([[1,2,3],[4,5,6]]) >>> b1 = np.array([1,2,3]) >>> a2 = np.array([1,2,3]) >>> b2 = np.array([1,2,3]) >>> a1 * b1 # 对应元素相乘 [[ 1 4 9] [ 4 10 18]] >>> a1 @ b1 # 矩阵相乘 [14 32] >>> a2 * b2 # 对应元素相乘 [1 4 9] >>> a2 @ b2 # 矩阵相乘 14 >>> np.multiply(a1, b1), np.multiply(a2, b2) # 对应元素相乘 (array([[ 1, 4, 9], [ 4, 10, 18]]), array([1, 4, 9])) >>> np.dot(a1, b1), np.dot(a2, b2) # 矩阵相乘 (array([14, 32]), 14) >>> np.matmul(a1, b1), np.matmul(a2, b2) # 矩阵相乘 (array([14, 32]), 14) 在矩阵上的效果: >>> a3 = np.matrix([[1,2,3],[4,5,6]]) >>> b3_1 = np.matrix([1,2,3]) >>> b3 = np.matrix([[1],[2],[3]]) >>> a3 * b3 # 矩阵相乘 [[14] [32]] >>> a3 @ b3 # 矩阵相乘 [[14] [32]] >>> np.multiply(a3,b3_1) # 对应元素相乘 matrix([[ 1, 4, 9], [ 4, 10, 18]]) >>> np.dot(a3, b3) # 矩阵相乘 matrix([[14], [32]]) >>> np.matmul(a3, b3) # 矩阵相乘 matrix([[14], [32]])


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3